/*
 * PhD Software do Brasil / Universa Escola de Gestão.
 * email - professor.flavio.roberto@gmail.com
 *
 * SPB - Simulador do Sistema de Pagamentos Brasileiro do Governo Federal.
 *
 * OBS: Todos os códigos estão sendo oferecidos com a intenção única de
 * estimular o aprendizado. Não podem ser usados com fins comerciais sem
 * autorização prévia do autor. Se redistribuídos para outros sites, o autor e
 * a fonte devem ser sempre citados.
 */
package br.com.phd.bank.spb.servico;

import java.util.Date;

class TEDImpl implements TED {

	private Date dataHoraDaCriacao;
	private String idDaTransacaoDeOrigem;
	private char tipoDaTED;
	private double valorDaTransacao;
	private int bancoDeOrigem;
	private int agenciaDeOrigem;
	private int contaDeOrigem;
	private String cpfDaContaDeOrigem;
	private int bancoFavorecido;
	private int agenciaFavorecida;
	private int contaFavorecida;
	private String cpfDaContaFavorecida;

	public TEDImpl() {
		dataHoraDaCriacao = new Date();
	}

	public Date getDataHoraDaCriacao() {
		return dataHoraDaCriacao;
	}

	public String getIdDaTransacaoDeOrigem() {
		return idDaTransacaoDeOrigem;
	}

	public void setIdDaTransacaoDeOrigem(String idDaTransacaoDeOrigem) {
		this.idDaTransacaoDeOrigem = idDaTransacaoDeOrigem;
	}

	public char getTipoDaTED() {
		return tipoDaTED;
	}

	public void setTipoDaTED(char tipoDaTED) {
		this.tipoDaTED = tipoDaTED;
	}

	public double getValorDaTransacao() {
		return valorDaTransacao;
	}

	public void setValorDaTransacao(double valorDaTransacao) {
		this.valorDaTransacao = valorDaTransacao;
	}

	public int getBancoDeOrigem() {
		return bancoDeOrigem;
	}

	public void setBancoDeOrigem(int bancoDeOrigem) {
		this.bancoDeOrigem = bancoDeOrigem;
	}

	public int getAgenciaDeOrigem() {
		return agenciaDeOrigem;
	}

	public void setAgenciaDeOrigem(int agenciaDeOrigem) {
		this.agenciaDeOrigem = agenciaDeOrigem;
	}

	public int getContaDeOrigem() {
		return contaDeOrigem;
	}

	public void setContaDeOrigem(int contaDeOrigem) {
		this.contaDeOrigem = contaDeOrigem;
	}

	public String getCpfDaContaDeOrigem() {
		return cpfDaContaDeOrigem;
	}

	public void setCpfDaContaDeOrigem(String cpfDaContaDeOrigem) {
		this.cpfDaContaDeOrigem = cpfDaContaDeOrigem;
	}

	public int getBancoFavorecido() {
		return bancoFavorecido;
	}

	public void setBancoFavorecido(int bancoFavorecido) {
		this.bancoFavorecido = bancoFavorecido;
	}

	public int getAgenciaFavorecida() {
		return agenciaFavorecida;
	}

	public void setAgenciaFavorecida(int agenciaFavorecida) {
		this.agenciaFavorecida = agenciaFavorecida;
	}

	public int getContaFavorecida() {
		return contaFavorecida;
	}

	public void setContaFavorecida(int contaFavorecida) {
		this.contaFavorecida = contaFavorecida;
	}

	public String getCpfDaContaFavorecida() {
		return cpfDaContaFavorecida;
	}

	public void setCpfDaContaFavorecida(String cpfDaContaFavorecida) {
		this.cpfDaContaFavorecida = cpfDaContaFavorecida;
	}

	public boolean validaDados() {
		return Util.isCampoPreenchido(getIdDaTransacaoDeOrigem())
				&& Util.isCampoPreenchido(getTipoDaTED())
				&& Util.isCampoPreenchido(getValorDaTransacao())
				&& Util.isCampoPreenchido(getBancoDeOrigem())
				&& Util.isCampoPreenchido(getAgenciaDeOrigem())
				&& Util.isCampoPreenchido(getContaDeOrigem())
				&& Util.isCampoPreenchido(getCpfDaContaDeOrigem())
				&& Util.isCampoPreenchido(getBancoFavorecido())
				&& Util.isCampoPreenchido(getAgenciaFavorecida())
				&& Util.isCampoPreenchido(getContaFavorecida())
				&& Util.isCampoPreenchido(getCpfDaContaFavorecida());
	}
}